import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ModalModule, TabsModule, TooltipModule, BsDropdownModule } from 'ngx-bootstrap';
import { AppCommonModule } from '@app/shared/common/app-common.module';
import { UtilsModule } from '@shared/utils/utils.module';
import { CountoModule } from '@node_modules/angular2-counto';
//import { EasyPieChartModule } from 'ng2modules-easypiechart';
import { DataTableModule, MenubarModule, DialogModule, SpinnerModule, PanelModule } from 'primeng/primeng';
import { PaginatorModule } from 'primeng/primeng';
import { TreeTableModule } from 'primeng/primeng';
import {
  InputTextModule,
  CalendarModule,
  InputSwitchModule,
  MultiSelectModule,
  DropdownModule,
  TabMenuModule
} from 'primeng/primeng';
import { TableModule } from 'primeng/components/table/table';
import { PipelineRoutingModule } from '@app/pipeline/pipeline-routing.module';
import { StepsComponent } from '@app/pipeline/step/step.component';
import { FlexsComponent } from '@app/pipeline/flex/flex.component';
import { WarningTimeModalComponent } from '@app/pipeline/flex/warning-time-modal.component';
import { FlexItemComponent } from '@app/pipeline/flex/flex-item.component';
import { ActAbnormalModalComponent } from '@app/pipeline/step/act-abnormal-modal.component';
import { ActBaseModalComponent } from '@app/pipeline/shared/act-base.component';
import { GY1ModalComponent } from '@app/pipeline/shared/工艺类/正常节点/gy1.component';
import { RW2ModalComponent } from '@app/pipeline/shared/任务类/正常节点/rw2.component';
import { ZL1ModalComponent } from '@app/pipeline/shared/质量类/正常节点/zl1.component';
import { YL2ModalComponent } from '@app/pipeline/shared/原材料类/正常节点/yl2.component';
import { YL10ModalComponent } from '@app/pipeline/shared/原材料类/正常节点/yl10.component';
import { GXZXModalComponent } from '@app/pipeline/shared/工序执行类/正常节点/gxzx.component';
import { ZL4ModalComponent } from '@app/pipeline/shared/质量类/正常节点/zl4.component';
import { ZL5ModalComponent } from '@app/pipeline/shared/质量类/正常节点/zl5.component';
import { ZL6ModalComponent } from '@app/pipeline/shared/质量类/正常节点/zl6.component';
import { GZ1ModalComponent } from '@app/pipeline/shared/工装类/正常节点/gz1.component';
import { GZ2ModalComponent } from '@app/pipeline/shared/工装类/正常节点/gz2.component';
import { SB1ModalComponent } from '@app/pipeline/shared/设备类/正常节点/sb1.component';
import { SB2ModalComponent } from '@app/pipeline/shared/设备类/正常节点/sb2.component';
import { GJ1ModalComponent } from '@app/pipeline/shared/工具类/正常节点/gj1.component';
import { GJ2ModalComponent } from '@app/pipeline/shared/工具类/正常节点/gj2.component';
import { LJ2ModalComponent } from '@app/pipeline/shared/量具类/正常节点/lj2.component';
import { LJ1ModalComponent } from '@app/pipeline/shared/量具类/正常节点/lj1.component';
import { RW7ModalComponent } from '@app/pipeline/shared/任务类/正常节点/rw7.component';
import { CB1ModalComponent } from '@app/pipeline/shared/成本类/正常节点/cb1.component';
import { CB2ModalComponent } from '@app/pipeline/shared/成本类/正常节点/cb2.component';
import { CB3ModalComponent } from '@app/pipeline/shared/成本类/正常节点/cb3.component';
import { CB4ModalComponent } from '@app/pipeline/shared/成本类/正常节点/cb4.component';
import { CB5ModalComponent } from '@app/pipeline/shared/成本类/正常节点/cb5.component';
import { XC11ModalComponent } from '@app/pipeline/shared/现场问题处理类/正常节点/xc11.component';
import { FL1ModalComponent } from '@app/pipeline/shared/辅助物质类/正常节点/fl1.component';
import { DA1ModalComponent } from '@app/pipeline/shared/档案类/正常节点/da1.component';

import { YL2OutModalComponent } from '@app/pipeline/shared/原材料类/正常节点/yl2-out-modal.component';
import { YL10ChildModalComponent } from '@app/pipeline/shared/原材料类/正常节点/yl10-modal.component';
import { GY03ModalComponent } from '@app/pipeline/shared/工艺类/正常节点/gy03.component';


import { BatchIntoStepComponent } from './step/batch-into-step.component';
import { BatchIntoReportComponent } from './step/batch-into-report.component';
import { ActCommonModalComponent } from './shared/act-common.component';
import { RW4ModalComponent } from './shared/任务类/正常节点/rw4.component';
import { RW23ModalComponent } from './shared/任务类/正常节点/rw23.component';
import { RW21ModalComponent } from './shared/任务类/正常节点/rw21.component';
import { RW24ModalComponent } from './shared/任务类/正常节点/rw24.component';


const COMPONENTS = [
  ActCommonModalComponent,
  GY1ModalComponent,
  RW2ModalComponent,
  RW4ModalComponent,
  RW21ModalComponent,
  RW23ModalComponent,
  RW24ModalComponent,
  ZL1ModalComponent,
  YL2ModalComponent,
  YL10ModalComponent,
  GXZXModalComponent,
  ZL4ModalComponent,
  ZL5ModalComponent,
  ZL6ModalComponent,
  GZ1ModalComponent,
  GZ2ModalComponent,
  SB1ModalComponent,
  SB2ModalComponent,
  GJ1ModalComponent,
  GJ2ModalComponent,
  LJ2ModalComponent,
  LJ1ModalComponent,
  RW7ModalComponent,
  CB1ModalComponent,
  CB2ModalComponent,
  CB3ModalComponent,
  CB4ModalComponent,
  CB5ModalComponent,
  XC11ModalComponent,
  FL1ModalComponent,
  DA1ModalComponent,
  GY03ModalComponent
];

const COMPONENT_MODALS = [YL2OutModalComponent, YL10ChildModalComponent];

@NgModule({
  entryComponents: COMPONENTS,
  imports: [
    CommonModule,
    FormsModule,
    ModalModule,
    TabsModule,
    TooltipModule,
    AppCommonModule,
    UtilsModule,
    PipelineRoutingModule,
    CountoModule,
    //EasyPieChartModule,
    DataTableModule,
    TableModule,
    MultiSelectModule,
    PaginatorModule,
    TreeTableModule,
    CalendarModule,
    InputTextModule,
    InputSwitchModule,
    DropdownModule,
    CalendarModule,
    BsDropdownModule.forRoot(),
    MenubarModule,
    DialogModule,
    SpinnerModule,
    PanelModule,
    TabMenuModule,

  ],
  declarations: [
    StepsComponent,
    ActAbnormalModalComponent,
    FlexsComponent,
    FlexItemComponent,
    ActBaseModalComponent,
    WarningTimeModalComponent,
    ...COMPONENTS,
    ...COMPONENT_MODALS,
    BatchIntoStepComponent,
    BatchIntoReportComponent
  ]
})
export class PipelineModule { }
